/*
 * Copyright (c) Tan Menglong.
 * All rights reserved.
 * 
 * This file is part of the RabbitOS.  The RabbitOS is free software, also known
 * as "open source;" you can redistribute it and/or modify it under the terms
 * of the GNU General Public License (GPL), version 2, as published by the Free
 * Software Foundation (FSF).  To explore alternate licensing terms, contact
 * the Tan Menglong at TanMenglong@gmail.com or +86-15972108715.
 * 
 * The RabbitOS is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GPL for more details.  You should have
 * received a copy of the GPL along with the RabbitOS; see the file COPYING.  If
 * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
 */
/*
 * Block Device.
 * Jun-04-08
 */

#ifndef _DEV_BLOCK_H
#define _DEV_BLOCK_H

#define NR_BLOCK_DEV	7
/*
 * 0	NULL
 * 1	BLOCK,ram
 * 2	BLOCK,fd
 * 3	BLOCK,hd
 * 4	BLOCK,cdrom
 * 5	CHAR,ttyx
 * 6	CHAR,tty
 */
#define NR_REQUEST	32
typedef struct {
	int dev_no;
	int cmd;
	int err_no;
	unsigned long sector;		//start from which sector?
	unsigned long sector_no;	//how many sectors?
	char *buffer;				//buffer
	//TODO
	request_t *next;
} request_t;

#endif							//DEV_BLOCK_H
